from google.appengine.ext import db
import pickle

class PickleProperty(db.Property):
  def get_value_for_datastore(self, model_instance):
    value = getattr(model_instance, self.name, None)
    return db.Text(pickle.dumps(value))
  
  def make_value_from_datastore(self, value):
    return pickle.loads(value.encode('utf-8'))
